using TerritoryGame.Application.Commands;
using TerritoryGame.Application.Dtos;
using Microsoft.AspNetCore.Http;

namespace TerritoryGame.Application.Interfaces;

/// <summary>
/// 头像服务接口
/// </summary>
public interface IAppAvatarService
{
    /// <summary>
    /// 获取用户头像信息
    /// </summary>
    Task<ApiResult> GetUserAvatarInfoAsync(Guid userId);

    /// <summary>
    /// 上传用户头像
    /// </summary>
    Task<ApiResult> UploadUserAvatarAsync(Guid userId, IFormFile file, Guid currentUserId);

    /// <summary>
    /// 获取头像文件
    /// </summary>
    Task<(byte[] FileBytes, string ContentType, string FileName)> GetAvatarFileAsync(string fileName);
} 